public class Main {
    public static void main(String[] args) {

        System.out.println("Hello world!");
    }

    public String longestPalindrome(String s)
 {
         // 1. 创建 dp 表
         // 2. 初始化
         // 3. 填表
         // 4. 返回值
         int n = s.length();
         boolean[][] dp = new boolean[n][n];

         int begin = 0, len = 1; // 标记⼀下最⻓⼦串的起始位置和⻓度
         for(int i = n - 1; i >= 0; i--)
             {
             for(int j = i; j < n; j++)
                 {
                 if(s.charAt(i) == s.charAt(j))
                     dp[i][j] = i + 1 < j ? dp[i + 1][j - 1] : true;
                 if(dp[i][j] && j - i + 1 > len)
                     {
                     len = j - i + 1;
                     begin = i;
                     }
                 }
             }
         return s.substring(begin, begin + len);
         }
}